C语言加密解密与安全编程实战
📚 共计 30 章节
01
密码学基础
对称加密与非对称加密概述、哈希函数、C语言中的大数运算库简介。
对称
非对称
哈希
02
OpenSSL库入门
OpenSSL的安装与配置、常用API介绍、随机数生成。
OpenSSL
随机数
03
对称加密实战(AES)
AES算法原理、CBC/ECB模式、C语言实现加解密。
AES
CBC
ECB
04
对称加密实战(DES/3DES)
DES算法原理、3DES的兼容性、C语言实现。
DES
3DES
05
非对称加密实战(RSA)
RSA算法原理、密钥生成、公钥加密与私钥解密。
RSA
密钥
06
非对称加密实战(ECC)
椭圆曲线密码学简介、ECC与RSA对比、C语言实现。
ECC
椭圆曲线
07
哈希函数与消息摘要
MD5、SHA-1、SHA-256原理、C语言计算哈希值。
MD5
SHA
08
消息认证码(HMAC)
HMAC原理、C语言实现、与哈希函数的区别。
HMAC
认证
09
数字签名
RSA签名与验签、DSA算法、C语言实现。
签名
DSA
10
数字证书与PKI
X.509证书结构、证书链验证、OpenSSL证书操作。
PKI
X.509
11
安全随机数生成
/dev/urandom与OpenSSL随机数、C语言实现安全种子。
随机数
种子
12
内存安全
缓冲区溢出原理、栈保护技术(Canary)、ASLR与DEP。
溢出
Canary
13
字符串安全
strcpy/strcat风险、安全替代函数(strncpy、snprintf)。
字符串
安全
14
格式化字符串漏洞
原理分析、防范措施、C语言安全格式化。
格式化
漏洞
15
整数溢出与类型混淆
整数溢出漏洞、安全类型转换、C语言检查机制。
整数溢出
类型
16
指针安全
空指针解引用、悬空指针、智能指针模拟。
指针
悬空
17
动态内存管理
malloc/free陷阱、内存泄漏检测、Valgrind使用。
内存
Valgrind
18
文件操作安全
路径遍历、符号链接攻击、安全文件读写。
文件
路径
19
网络编程安全
Socket安全选项、TLS/SSL封装、防止中间人攻击。
网络
TLS
20
多线程安全
互斥锁、条件变量、线程安全随机数。
线程
锁
21
安全编码规范
CERT C编码标准、MISRA C简介、静态分析工具。
CERT
MISRA
22
侧信道攻击与防护
计时攻击、功耗分析、常数时间比较。
侧信道
常数时间
23
白盒密码学
白盒AES实现、代码混淆技术、安全性权衡。
白盒
混淆
24
量子安全密码学
量子威胁概述、后量子密码算法(Kyber、Dilithium)。
量子
后量子
25
安全协议实现
TLS 1.3握手协议、C语言客户端实现。
TLS 1.3
握手
26
嵌入式系统安全
固件加密、安全启动、资源受限环境优化。
嵌入式
固件
27
安全日志与审计
日志记录最佳实践、防篡改日志、C语言实现。
日志
审计
28
模糊测试与漏洞挖掘
LibFuzzer使用、AFL集成、C语言测试用例。
模糊测试
LibFuzzer
29
安全更新与补丁管理
动态库热更新、签名验证、回滚保护。
更新
补丁
30
综合项目:安全文件传输系统
集成AES+RSA+签名,C语言完整实现。
项目
AES
RSA